//
// Created by 吴锐 on 2022/2/26.
//

#include "iostream"

using namespace std;

class Base1 {
public:
    int m_A;

protected:
    int m_B;

private:
    int m_C;
};

class Son1 : public Base1 {
public:
    void func(){
        m_A = 10;
        m_B = 10;
//        m_C = 10;
    }
};

void test01(){
    Son1 s1;
    s1.m_A = 100;
//    s1.m_B = 100;
}

class Base2 {
public:
    int m_A;

protected:
    int m_B;

private:
    int m_C;
};

class Son2 : protected Base2 {
public:
    void func(){
        m_A = 100;
        m_B = 100;
//        m_C = 100;
    }
};

void test02(){
    Son2 s2;
//    s2.m_A = 1000;
}

class Base3 {
public:
    int m_A;

protected:
    int m_B;

private:
    int m_C;
};

class Son3 : private Base3 {
public:
    void func(){
        m_A = 100;
        m_B = 100;
//        m_C = 100;
    }
};

void test03(){
    Son3 s3;
//    s3.m_A = 100;
//    s3.m_B = 100;
}

class GrandSon3 : public Son3 {
public:
    void func(){
//        m_A = 100;
//        m_B = 100;
    }
};

int main(){

    return 0;
}